1. Field of the Invention
This invention relates to systems with coded information transported to the receiver, more particularly to those using MPEG (Moving Pictures Experts Group) transport streams.
2. Background of the Invention
The MPEG standards comprise a group of standards used in transporting information to an audiovisual system receiver, the coding of that information on the transmission end and the decoding of that information on the receiving end. The transmitter multiplexes and sends a stream comprised of three types of information: audio, video and data. This stream is referred to as the transport stream and each sub-stream of a given information type contained within that stream are referred to as program elements.
Typically, an MPEG receiver has three paths along which the data is sent after de-multiplexing. One prior art example is shown in FIG. 1. The decoder 10 receives the transport stream 12 to a demultiplexing stage 14. The demultiplexer handles the program elements and identifies to which path the individual packets inside the program element need to be sent. The identification is found in quantity referred to as the Packet Identifier or PID. For example, demultiplexing stage 14 sends audio packets to a transport buffer 16 which in turn sends the buffered audio packets to a smoothing buffer 18.
Transport buffer 20 receives video packets and in turn send the buffered packets to a smoothing buffer 22. The smoothing buffer 22 sends the data to an elementary buffer 24. A similar path structure would be repeated for data packets with transport buffer 26, smoothing buffer 28 and elementary buffer 30. The functions and nature of the various buffers and their outputs can be seen with reference to FIG. 2 and the video path structure.
Transport buffer 22 has a set size of 512 bytes. The design constraints imposed on MPEG systems require that this buffer cannot suffer from overflow. MPEG-2 program element packets have a predetermined size as well. The packets have 184 bytes of information, referred to as payload, and 4 bytes of header, for a total packet size of 188 bytes. Because of the restrictions on the transport buffer 20, this then governs the delivery schedule for the incoming packets between audio, video and data packets.
This constraint on scheduling is relaxed by the smoothing buffer 22. The smoothing buffer allows the system to control the output rate of the smoothing buffer to the elementary buffer 24. This is called the leak rate. Elementary buffer 24 reconstructs the data access units (DAU) of the initial information stream, and then passes these units to the receiver in the output device, in this case the video display.
The elementary buffer is emptied by removal of the packets at a time determined by an MPEG quantity called the presentation time stamp, or DTS. The DTS is used as a time reference to sequence the data access units into the appropriate order to reconstruct the original information stream. The elementary buffer typically has only one output port, which can restrict the system performance. The Presentation Time Stamp (PTS) defines the instant in time with which the decoded data access unit is associated. In a streaming data elementary stream, the DTS can be inferred from the PTS of the previous DAU in the same stream.
Several proposals have been made to increase system performance. For example, methods to improve the performance of the multiplexing/demultiplexing based upon the PID can be found in U.S. Pat. No. 5,835,493, issued Nov. 10, 1998, and U.S. Pat. No. 5,666,487, issued Sep. 9, 1997. A method involving the multiplexing of the audio stream is shown in U.S. Pat. No. 5,875,007, issued Feb. 23, 1999. Similarly, a method for multiplexing the application data for MPEG-2 packets is shown in U.S. Pat. No. 5,856,973, issued Jan. 5, 1999. All of these approaches rely upon or use multiplexing at the PID level.
Secondary multiplexing within the decoder would increase system performance. One proposal suggests using a second multiplexing stage just prior to the elementary buffer. This has been referred to as FlexMux in the ISO/IEC JTC 1/SC 29 WG 11 on Information Technology—Coding of Audiovisual objects, part 12. However, current proposals rely upon additional information such as headers being sent within the packet payload to direct the demultiplexing operation. This contributes to the system overhead, decreasing system performance and efficiency.
Therefore, a method is needed that allows secondary multiplexing to be performed in video stream decoders that does not require any additional information.